Integrated circuits (IC) can be designed by various computer aided design (CAD) tools. A CAD design flow of an IC is a combination of CAD tools to accomplish the design of an IC, translating a high level behavioral or functional description of the circuit to a physical layout. A circuit can be represented at a variety of levels of abstraction. The commonly used levels of abstraction include algorithmic level or behavioral level, register-transfer level (RTL) or functional level, gate level or schematic level, and finally, the physical layout description. The entire design flow may be divided into different layers—high level synthesis, logic synthesis, placement, and routing, where a tool at one layer normally translates a circuit description at a higher level abstraction to a description of the same circuit at a lower level abstraction.